跳到主要内容

UML 学习

UML 状态图

UML 状态图是图表本身的名称,主要用于描述对象具有的各种状态、状态之间的转换过程以及触发状态转换的各种事件和条件。

状态机由状态、转换、事件、活动和动作五部分组成。

在 UML 中,状态图由表示状态的节点和表示状态之间转换的带箭头的直线组成。状态的转换由事件触发,状态和状态之间由转换箭头连接。每一个状态图都有一个 初始状态(实心圆),用来表示状态机的开始。还有一个 中止状态(半实心圆),用来表示状态机的终止。状态图主要由元素状态、转换、初始状态、中止状态和判定等组成,一个简单的状态图如下:

状态:状态用于对实体在其生命周期中的各种状况进行建模,一个实体总是在有限的一段时间内保持一个状态。状态由一个带圆角的矩形表示,状态的描绘素应该包括名称、入口和出口动作、内部转换和嵌套状态。

如下图,为一个简单状态(只有名字是必须的):

20220406151641

可以有多个出口点

20220425113810

时序图

20220406174050

用例图

用例参与人是广义的“人”,不仅能够指代现实中的“人”,而且能够指代一切驱动方,如某个系统、某个模块等。另外一个基本要素,我们称之为用例

用例代表业务事件,一般用例都是采用动宾结构,表达用户的使用场景,即用户如何使用产品。用例与用例参与人连起来就代表了“某个参与人想做什么事情,获得什么样的结果”的一个业务场景。也就是站在用户的角度对系统行为进行描述,而不用考虑实现细节。

例如,在电商行业中发生的一个场景:用户在登录后,浏览商品,将商品添加到购物车并下单。

20230323171154

用例图(Use Case Diagram)不关心功能细节如何实现,而是用来将业务场景转化成领域模型的

在进行业务转化时,我们往往会画错用例图,常见的错误是将用例所抽象的对象弄错,这里提供一个简单的口诀:用例图要体现的是价值而非具体动作。

举个例子,如图所示,现有一个储户在ATM机上取钱,在使用用例图表达这个场景时,核心用例并不是“登录”而是“取款”“查余额”。这里产品经理应该关注的是核心用例,而不是那些对业务场景价值不大的用例。

20230323171256

为了表达业务之间的逻辑关系,用例图提供了关联(Association),包含(Include)、扩展(Extend)、继承(Generalization)、聚合(Aggregation)和组合(Composition)等关系

20230323171347

流程图

流程图的基本原则很简单,一般使用矩形代表流程中的节点,使用菱形代表分支判断,使用圆形代表流程开始,使用含实心的圆形代表流程结束。

例如,一个活动审核的业务流程如图所示。

20230323171522

References

  • 《电商产品经理兵法:基于SaaS的电商系统设计与实践》